<%@page import="javax.portlet.RenderRequest"%>
<%@page import="java.util.List"%>
<%@page import="java.util.Date"%>
<%@page import="java.util.Calendar"%>
<%@page import="java.util.GregorianCalendar"%>
<%@page import="coba.service.ProvinciaLocalServiceUtil"%>
<%@page import="coba.service.InstitucionLocalServiceUtil"%>
<%@page import="coba.service.ItinerarioLocalServiceUtil"%>
<%@page import="coba.service.ItinerarioRecorridoLocalServiceUtil"%>
<%@page import="coba.service.RecorridoLocalServiceUtil"%>
<%@page import="coba.service.ConcurrenciaRecorridoLocalServiceUtil"%>
<%@page import="coba.service.SolicitudLocalServiceUtil"%>
<%@page import="coba.service.ContactoLocalServiceUtil"%>
<%@page import="coba.service.RecorridoSolicitudLocalServiceUtil"%>
<%@page import="coba.service.GuiaLocalServiceUtil"%>
<%@page import="coba.service.LicenciaGuiaLocalServiceUtil"%>
<%@page import="coba.service.FeriadoLocalServiceUtil"%>
<%@page import="coba.model.Provincia"%>
<%@page import="coba.model.Institucion"%>
<%@page import="coba.model.Contacto"%>
<%@page import="coba.model.Itinerario"%>
<%@page import="coba.model.ItinerarioRecorrido"%>
<%@page import="coba.model.Recorrido"%>
<%@page import="coba.model.ConcurrenciaRecorrido"%>
<%@page import="coba.model.Solicitud"%>
<%@page import="coba.model.Guia"%>
<%@page import="coba.model.Feriado"%>
<%@page import="coba.model.LicenciaGuia"%>
<%@page import="coba.calendar.CalendarDay"%>
<%@page import="coba.json.ItinerarioJson"%>
<%@page import="coba.json.ItinerarioRecorridoJson"%>
<%@page import="coba.json.RecorridoJson"%>
<%@page import="coba.json.ConcurrenciaRecorridoJson"%>
<%@page import="coba.json.GuiaJson"%>
<%@page import="coba.json.SolicitudJson"%>
<%@page import="coba.json.LicenciaGuiaJson"%>
<%@page import="javax.portlet.PortletURL"%>
<%@page import="com.liferay.portal.util.PortalUtil"%>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>

<portlet:defineObjects />

<%
	//List<Itinerario> listItinerario = ItinerarioLocalServiceUtil.getItinerarios(0, 999999);
	List<ItinerarioRecorrido> listItinerarioRecorrido = ItinerarioRecorridoLocalServiceUtil.getItinerarioRecorridos(0, 999999);
	List<Recorrido> listRecorrido = RecorridoLocalServiceUtil.getRecorridos(0, 999999);
	List<Guia> listGuia = GuiaLocalServiceUtil.findByFechaBaja(null);
	List<LicenciaGuia> listLicenciaGuia = LicenciaGuiaLocalServiceUtil.findByFechaBaja(null);
		
	String modalidad = renderRequest.getParameter("modalidad");
	String itinerarioId = renderRequest.getParameter("itinerarioId");
	int anio = Integer.valueOf(renderRequest.getParameter("anio"));
	int mes = Integer.valueOf(renderRequest.getParameter("mes"));
	
	session.setAttribute("calendarioModalidad", modalidad);
	session.setAttribute("calendarioItinerario", itinerarioId);
	session.setAttribute("calendarioAnio", Integer.valueOf(anio));
	session.setAttribute("calendarioMes", Integer.valueOf(mes));
	
	
	
	Calendar cal2 = GregorianCalendar.getInstance();
	cal2.set(Calendar.YEAR, anio);
	cal2.set(Calendar.MONTH, mes);
	cal2.set(Calendar.DAY_OF_MONTH, 1);
	cal2.set(Calendar.HOUR_OF_DAY, 0);
	cal2.set(Calendar.MINUTE, 0);
	cal2.set(Calendar.SECOND, 0);
	cal2.set(Calendar.MILLISECOND, 0);

	Date fechaItinerarioDesde = cal2.getTime();
	
	cal2.add(Calendar.DATE, 32);
	
	Date fechaItinerarioHasta = cal2.getTime();
	
	List<Solicitud> listSolicitud = SolicitudLocalServiceUtil.findByFechaItinerarioDesdeAndFechaItinerarioHasta(fechaItinerarioDesde, fechaItinerarioHasta);

	List<Feriado> listFeriado = FeriadoLocalServiceUtil.findByFechaBaja(null);
	
	
	Calendar cal = new GregorianCalendar(anio, mes, 1);
	int diaDeLaSemana = cal.get(Calendar.DAY_OF_WEEK);
	int diasEnElMes = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
	
	Calendar cal1 = new GregorianCalendar(anio, mes, diasEnElMes);
	int diaDeLaSemanaUltimoDiaDelMes = cal1.get(Calendar.DAY_OF_WEEK);
			
	int calendarRows = (diaDeLaSemana + diasEnElMes - 1) / 7 +
			((diaDeLaSemana + diasEnElMes - 1) % 7 > 0 ? 1 : 0) -
			(diaDeLaSemanaUltimoDiaDelMes == 1 ? 1 : 0);
%>

<table class="table table-bordered">

	<thead class="table-columns">
		<tr>
			<th>Lunes</th>
			<th>Martes</th>
			<th>Mi&eacute;rcoles</th>
			<th>Jueves</th>
			<th>Viernes</th>
			<th>S&aacute;bado</th>
		</tr>
	</thead>

	<% for (int i = 0; i < calendarRows; i ++) { %>
		<tr>
			<% for (int j = 1; j < 7; j ++) { %>
					<%
						int dia = i * 7 + j - diaDeLaSemana + 2;
					%>
					<% if (dia > 0 && dia <= diasEnElMes) { %>
					<%=CalendarDay.get(modalidad,
							itinerarioId != null && !itinerarioId.trim().equals("") ? Long.valueOf(itinerarioId) : null,
							anio, mes, dia, listItinerarioRecorrido, listRecorrido, listSolicitud, listGuia, listLicenciaGuia, listFeriado) %>
					<% } else { %>
						<td></td>
					<% } %>
			<% } %>
		</tr>
	<% } %>

</table>